루스트에서 패턴 매칭은 제어 흐름의 한 가지 분기일 뿐만 아니라, 바인딩의 근본 구조바인딩의 핵심입니다. 변수를 선언하거나 함수를 정의할 때마다, 당신은 패턴 매칭에 참여하고 있습니다.
1. 바인딩의 본질
우리가 let x = 5;라고 쓸 때, 우리는 단지 값을 할당하는 것만이 아닙니다. 우리는 값 5 에 대해 부정할 수 없는 패턴x과 매칭하고 있습니다. 왜냐하면 x 는 어떤 값이라도 표현할 수 있는 이름이기 때문에, 매칭은 항상 성공하며 지역 바인딩을 생성합니다.
2. 패턴화된 매개변수 (목록 18-6)
가장 깊은 통찰 중 하나는 함수 서명이 패턴이라는 것라는 것입니다. 서명 fn foo(x: i32)에서 코드는 i32 을 기대하고 있으며, 패턴 x 을 사용해 들어오는 인수를 바인딩합니다. 이는 모든 함수 진입이 사실상 단일 팔 매칭 이벤트라는 의미입니다.
3. 패턴의 보편성
패턴은 match를 넘어서 존재합니다. 이들은 for 반복문(튜플 분해), while let 조건문, 그리고 심지어 if let 표현식에도 나타납니다. 이 지역 바인딩 원칙은 구조체에서 데이터를 추출하거나 해시맵을 반복할 때든, 루스트 코드가 일관되게 표현력 있게 작동하도록 보장합니다.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>